package lab2.gl;

import java.io.Serializable;
import java.util.ArrayList;

public class CompanieAssurance implements Serializable{
	private static final long serialVersionUID = 23456;
	private String nomme;
	private int nbClients;
	private ArrayList<Personne> personnes;

	public CompanieAssurance(String nomme) {
		this.nomme = nomme;
		personnes = new ArrayList<Personne>();
	}

	public String getNomme() {
		return nomme;
	}

	public void setNomme(String nomme) {
		this.nomme = nomme;
	}

	public void addClients(Personne personne) {
		personnes.add(personne);
	}

	public boolean isClientEmpty() {
		if (personnes.isEmpty()) {
			return true;
		}
		return false;
	}

	public boolean existClient(Personne p) {
		if (personnes.contains(p)) {
			return true;
		}
		return false;
	}

	public void setAllClients(ArrayList<Personne> list) {
		this.personnes.addAll(list);
	}

	public boolean removeClient(Personne p) {
		if (personnes.remove(p)) {
			return true;
		}
		return false;
	}

	public void removeClients() {
		personnes.clear();
	}

	public void removeClient(int i) {
		personnes.remove(i);
	}

	public void setClient(int i, Personne p) {
		personnes.set(i, p);
	}

	public void insertClient(int i, Personne p) {
		personnes.add(i, p);
	}

	public ArrayList<Personne> getAllClients() {
		return personnes;
	}

	public Personne getClient(int i) {
		return personnes.get(i);
	}

	public int getNbOfClients() {
		this.nbClients = personnes.size();
		return nbClients;
	}

	public void display() {
		System.out.println("Companie nomme: " + getNomme());
		System.out.println("Nr of clients: " + getNbOfClients());
		for (Personne p : personnes) {
			System.out.println("Personne nomme: " + p.getNomme());
			System.out.println("Personne adresse: " + p.getAdresa().getTara() );
		}
	}
}
